import { createApp } from 'vue' // 导入createApp函数
import App from './App.vue'
import { createPinia } from 'pinia'
import { ElMessage } from 'element-plus'
import '@/style/common.css'

// 如果你已经在 vite 的配置文件中使用了 AutoImport 和 Components 插件，并且配置了 ElementPlusResolver 来自动按需导入 Element Plus 的组件和 API，
// 不再需要在 main.js 中手动导入 Element Plus
// import ElementPlus from 'element-plus'
// import 'element-plus/dist/index.css'
import * as ElementPlusIconsVue from '@element-plus/icons-vue' // 引入图标

import cookies from 'vue-cookies'
import router from '@/router'
import axios from '@/axios' // 全局使用这个 Axios 实例

const app = createApp(App) // 调用该函数，创建一个vue应用实例
const pinia = createPinia() // 创建一个vue状态管理库实例

app.use(router)
// // app.use(ElementPlus)
app.use(pinia)
// app.use(cookies)
// app.use(axios)

for (const [key, component] of Object.entries(ElementPlusIconsVue)) {
    app.component(key, component)
}

axios.defaults.withCredentials = true
app.config.globalProperties.axios = axios
app.config.globalProperties.cookies = cookies
app.config.globalProperties.router = router
app.config.globalProperties.msg = ElMessage

app.mount('#app')